using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 生理症状仓储接口
    /// </summary>
    public interface IMenstrualSymptomRepository : IRepository<MenstrualSymptom>
    {
        Task<IEnumerable<MenstrualSymptom>> GetByUserIdAsync(Guid userId);
        Task<IEnumerable<MenstrualSymptom>> GetByUserIdAndDateRangeAsync(Guid userId, DateTime startDate, DateTime endDate);
        Task<IEnumerable<MenstrualSymptom>> GetBySymptomTypeAsync(Guid userId, string symptomType);
        Task<IEnumerable<MenstrualSymptom>> GetByCycleIdAsync(Guid cycleId);
        Task<Dictionary<string, int>> GetSymptomStatisticsByUserIdAsync(Guid userId, int days = 30);
    }
}